package com.jeesite.modules.util;

import java.util.List;

import com.jeesite.common.lang.StringUtils;
import com.jeesite.common.utils.SpringUtils;
import com.jeesite.modules.goods.entity.GoodsType;
import com.jeesite.modules.goods.service.GoodsTypeService;
import com.jeesite.modules.sys.utils.CorpUtils;


public class GoodsTypeCacelUtils {

	public static final String CACHE_GoodsType_ALL_LIST = "goodsTypeList";
	
	/**
	 * 静态内部类，延迟加载，懒汉式，线程安全的单例模式
	 */
	private static final class Static {
		
		private static GoodsTypeService goodsTypeService = SpringUtils.getBean(GoodsTypeService.class);
	}
	

	
	
	/**
	 * 获取所有的公司
	 * @return
	 */
	public static List<GoodsType> getGoodsTypeList(){
		@SuppressWarnings("unchecked")
		List<GoodsType> goodsTypeList = (List<GoodsType>)CorpUtils.getCache(CACHE_GoodsType_ALL_LIST);
		if (goodsTypeList == null){
			GoodsType where = new GoodsType();
			
			goodsTypeList = Static.goodsTypeService.findList(where);
			CorpUtils.putCache(CACHE_GoodsType_ALL_LIST, goodsTypeList);
		}
		return goodsTypeList;
	}
	
	/**
	 * 清除指定用户缓存，不包括改用的SESSION缓存
	 * @param user
	 */
	public static void removeCache(String key){
//		if (StringUtils.inString(key, CACHE_OFFICE_LIST, CACHE_COMPANY_LIST)){
//			UserUtils.removeCache(key);
//		}else 
		if (StringUtils.inString(key, CACHE_GoodsType_ALL_LIST)){
			CorpUtils.removeCache(key);
		}
	}
}

